/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package bpmlab.shift.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Mikael Lima
 */
@Embeddable
public class Trituracao implements Serializable {

    @Column(name = "massa_peneirada")
    private int massaPeneirada;
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "data_de_trituracao")
    private Date dataDeTrituracao;
    @ManyToOne
    private Localizacao localTrituracao;
    @ManyToOne
    private MetodoDeTrituracao metodoDeTrituracao;
    @ManyToOne
    private Aplicacao aplicacaoTrituracao;

    public Trituracao() {
    }

    public Trituracao(int massaPeneirada, Date dataDeTrituracao) {
        this.massaPeneirada = massaPeneirada;
        this.dataDeTrituracao = dataDeTrituracao;
    }

    public int getMassaPeneirada() {
        return massaPeneirada;
    }

    public void setMassaPeneirada(int massaPeneirada) {
        this.massaPeneirada = massaPeneirada;
    }

    public Date getDataDeTrituracao() {
        return dataDeTrituracao;
    }

    public void setDataDeTrituracao(Date dataDeTrituracao) {
        this.dataDeTrituracao = dataDeTrituracao;
    }

    public Localizacao getLocalTrituracao() {
        return localTrituracao;
    }

    public void setLocalTrituracao(Localizacao localTrituracao) {
        this.localTrituracao = localTrituracao;
    }

    public MetodoDeTrituracao getMetodoDeTrituracao() {
        return metodoDeTrituracao;
    }

    public void setMetodoDeTrituracao(MetodoDeTrituracao metodoDeTrituracao) {
        this.metodoDeTrituracao = metodoDeTrituracao;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 89 * hash + this.massaPeneirada;
        return hash;
    }

    public Aplicacao getAplicacaoTrituracao() {
        return aplicacaoTrituracao;
    }

    public void setAplicacaoTrituracao(Aplicacao aplicacaoTrituracao) {
        this.aplicacaoTrituracao = aplicacaoTrituracao;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Trituracao other = (Trituracao) obj;
        if (this.massaPeneirada != other.massaPeneirada) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Trituracao{" + "massaPeneirada=" + massaPeneirada + ", dataDeTrituracao=" + dataDeTrituracao + '}';
    }

}
